Trim
函数
trim() 函数移除字符串两侧的空白字符或其他预定义字符。
相关函数
语法
string trim (string [,string ])
技术细节
相比PHP4.1.0之下,增加了charlist参数。
实例
<?php
= trim();
var_dump();
var_dump();
var_dump();
// trim the ASCII control characters at the beginning and end of
// (from 0 to 31 inclusive)
var_dump();
?>
结果如下:
Example #2 Trimming array values with trim()
<?php
function trim_value(&)
{
= trim();
}
= array('apple','banana ',' cranberry ');
var_dump();
array_walk(,'trim_value');
var_dump();
?>
上例结果如下:
array(3){
[0]=>
[1]=>
[2]=>
}
array(3){
[0]=>
[1]=>
[2]=>
}
另外,rtrim,ltrim用法与trim用法相同。唯一的差别是ltrim去除左边的空格,rtrim去除右边的空格。这个从其首字母不难看出。
SQL中的函数
定义和用法
SQL中的TRIM函数是用来移除掉一个字串中的字头或字尾。最常见的用途是移除字首或字尾的空白。这个函数在不同的资料库中有不同的名称:
MySQL: TRIM(),RTRIM(),LTRIM()
Oracle: RTRIM(),LTRIM()
SQL Server: RTRIM(),LTRIM()
各种 trim 函数的语法如下:
LTRIM(字串):将字串左边的空格移除。
RTRIM(字串): 将字串右边的空格移除。
TRIM(字串): 将字串首尾两端的空格移除,作用等于RTRIM和LTRIM两个函数共同的结果。
ALLTRIM(字串):将字串左右边两边的空格移除。
实例
例1:
SELECT TRIM(' Sample ');
结果:
'Sample'
例2:
SELECT LTRIM(' Sample ');
结果:
'Sample '
例3:
SELECT RTRIM(' Sample ');
结果:
' Sample'
JAVA trim()方法
JAVA中的trim()是去掉首尾空格
例:
System.out.println(str);
System.out.println(str.trim());
输出结果为:
test trim 这行的首部空格留着
test trim 这行首尾空格被去掉,但是中间的还保留
ASP trim()函数
ASP中的trim()函数的作用是去掉字符中左右两端的空格
例:
Dim MyVar
ASP.NET trim()函数
.net 中Trim()函数的作用是从当前 System.String 对象的开始和末尾移除所有空白字符后保留的字符串
另外还有
TrimStart(params char[] trimChars) //从当前 System.String 对象移除数组中指定的一组字符的所有前导匹配项。
TrimEnd(params char[] trimChars) //从当前 System.String 对象移除数组中指定的一组字符的所有尾部匹配项。
例如:
结果:
SSDTRIM
原理
原本在机械硬盘上,在删除数据时,系统只会在逻辑地址表的这个位置做个标记,说明这里应该是没有东西了,以后新的数据可以放在这个逻辑位置上。系统并不会发送任何请求给硬盘,因为下次在这个逻辑位置写入新数据时,系统可以直接找到磁盘上对应的物理位置,将硬盘上该处的无用数据覆盖,因此才有数据恢复的可能。所以对于硬盘的物理内容,在删除文件时其实并没有发生任何变化。
对于固态硬盘(SSD),由于闪存的固有特性,更新页之前必须要擦除相关块。如果不开启TRIM,在文件系统中早已被删除的块在物理上还存放着原来的数据,且SSD主控无法知道这个块已经无用,直到有新的数据要求写入该块。物理上存放已无用的数据会在SSD垃圾回收(GC)的过程中被当成有用数据对待,被这对于固态硬盘的寿命是非常不利的,同时会导致其工作效率和性能的降低。
而当操作系统识别到SSD并确认SSD支持TRIM后,在删除数据时,向SSD发出TRIM指令,通知SSD主控对应的页面已经无效,SSD启动GC(垃圾回收)机制时,就可以及时释放这些页面。未来有数据需要写入的时候,直接就可以写入了。
所以说,TRIM只是避免SSD在垃圾回收时将无用数据当成有用数据来搬运,从而延长了SSD的寿命。以上就是Trim的原理以及真正作用。
并不是操作系统提供Trim指令支持,所有SSD都能享受到Trim技术所带来的好处,这还需要固态硬盘的固件支持才能实现。一些主要的固态硬盘主控芯片厂商已经提供了支持Trim的固件(例如英特尔速度下滑,并延长闪存使用寿命,过程完全在固态硬盘内部完成。
验证方法
win7下Trim验证方法
其实Windows 7默认状态下Trim指令是开启的,如果想查询当前的Trim指令状态,我们可以在管理员权限下,进入命令提示符界面,输入“fsutil behavior QUERY DisableDeleteNotify”,之后会得到相关查询状态的反馈。在这里,提示为“DisableDeleteNotify = 0”即Trim指令已启用;提示为“DisableDeleteNotify = 1”即为Trim指令未启用。
参考资料
PHP trim() 函数.w3cschool.2014-02-02
最新修订时间:2024-08-28 17:40
目录
概述
相关函数
语法
技术细节
实例
参考资料